//
// Created by tang on 2020/6/18.
//

#ifndef TESTREMOTE_BASE_DISPLAY_HPP
#define TESTREMOTE_BASE_DISPLAY_HPP

struct Rect2D {
    int x;
    int y;
    int w;
    int h;
};

struct Point2D {
    int x;
    int y;
};

enum TextAliment{
    Left        = 0x01,
    Center     = 0x02,
    Right       = 0x04,
};

class IPrinter {
public:
    virtual ~IPrinter() = default;

    /**
     * 在坐标系中绘制像素点，最基础的功能
     * @param p 绘制点的地方
     */
    virtual void drawPoint(Point2D p, bool bounded = true) = 0;
    virtual void display() = 0;
    virtual void clear() = 0;
};

#endif //TESTREMOTE_BASE_DISPLAY_HPP
